/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package amanda_gabriel_isabella_lucivania_monica.Model.Pojo;

import java.io.Serializable;
import javax.persistence.*;

/**
 * Entidade HistoricoDisciplina
 *
 * @author gabriel
 */
@Entity
@Table(name = "HistoricoDisciplina")
@PrimaryKeyJoinColumn(name = "fk_id_historico_disciplina", referencedColumnName = "id_historico_disciplina")
public class HistoricoDisciplina implements Serializable {

    private static final long serialVersionUID = 1L;
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id_historico_disciplina", unique = true, nullable = false)
    private int id;
    private double nota;
    private String aprovacao;
    @JoinColumn(name = "fk_id_pessoa", referencedColumnName = "id_pessoa")
    @ManyToOne
    private Aluno aluno;
    @JoinColumn(name = "fk_id_disciplina", referencedColumnName = "id_disciplina")
    @ManyToOne
    private Disciplina disciplina;

    /**
     * Construtor sem parâmetros de HistoricoDisciplina
     */
    public HistoricoDisciplina() {
    }

    /**
     * Construtor com parâmetros de HistoricoDisciplina
     *
     * @param nota
     * @param aprovacao
     * @param aluno
     * @param disciplina
     */
    public HistoricoDisciplina(double nota, String aprovacao, Aluno aluno, Disciplina disciplina) {
        this.nota = nota;
        this.aprovacao = aprovacao;
        this.aluno = aluno;
        this.disciplina = disciplina;
    }

    /*
     * Retorna a nota
     */
    public double getNota() {
        return nota;
    }

    /**
     * Seta a nota
     *
     * @param nota
     */
    public void setNota(double nota) {
        this.nota = nota;
    }

    /**
     * Retorna a aprovação
     *
     * @return
     */
    public String getAprovacao() {
        return aprovacao;
    }

    /**
     * Seta a aprovação
     *
     * @param aprovacao
     */
    public void setAprovacao(String aprovacao) {
        this.aprovacao = aprovacao;
    }

    /**
     * Retorna o Aluno referente ao HistoricoDisciplina
     *
     * @return
     */
    public Aluno getAluno() {
        return aluno;
    }

    /**
     * Seta o Aluno referente ao HistoricoDisciplina
     *
     * @param aluno
     */
    public void setAluno(Aluno aluno) {
        this.aluno = aluno;
    }

    /**
     * Retorna a Disciplina referente ao HistoricoDisciplina
     *
     * @return
     */
    public Disciplina getDisciplina() {
        return disciplina;
    }

    /**
     * Seta a Disciplina referente ao HistoricoDisciplina
     *
     * @param disciplina
     */
    public void setDisciplina(Disciplina disciplina) {
        this.disciplina = disciplina;
    }

    /**
     * Retorna o Id
     *
     * @return
     */
    public int getId() {
        return id;
    }

    /**
     * Seta o Id
     *
     * @param id
     */
    public void setId(int id) {
        this.id = id;
    }

    /**
     * Retorna uma String contendo informações gerais de HistoricoDisciplina
     * (verificar)
     *
     * @return
     */
    @Override
    public String toString() {
        return "";
    }
}
